Öncelikle 10 adet double türünde veriyi barındırabilecek bir dizi oluşturulmuş (double[] values = new double[10];)
integer türünde start adında 10 değerinde bir değişken oluşturulmuş(int start=10;)
for (int i = 1; i < values.length; --start)
Yukarıdaki ifadede for döngüsü yaratılmış
Başlangıçta i değişkenine 1 değeri atanmış(int i=1)
Bu for döngüsünün i değişkeninin dizinin boyutundan küçük olduğu sürece for döngüsünün tekrar edeceği yazılmış (i < values.length) yani i değişkeni 10'dan küçük olduğu sürece
ve son olarak (--start) her döngünün sonunda start değişkeninin 1 azalması gerektiğini söylüyor.
for 'un içine geçersek
values[i]= start/2 ifadesi örnek üstünden anlatmak gerekirse diyelim programı çalıştırdık.
for döngüsünün ilk seferinde i değerimiz 1'di o zaman values[1]=start/2 'ye eşitlenecek demektir. yani dizimizin 2. elemanının değeri o sıradaki start değerinin yarısına eşitlenecek ((Bilginiz var mı emin değilim ama söylemeden geçmeyeyim dizilerin 1. değeri array[0] 'a karşılık gelir.))
System.out.print(values[i] + "- -") ifadesi ekrana values[i] nin yani for döngüsünün ilk seferini baz alırsak values[1] in değeri olan start/2'i yani o anki start değeri 10 olduğuna göre 10/2 den 5 'i ekrana "values[1] = 5" şeklinde yazdıracaktır.
VE son olarak for döngüsünün içindeki son kod olan i= i+2; ifadesi i değerinin 2 artırılmasını söylüyor. Örneklemek gerekirse yeniden hep aynı örnek üzerinden gittim for döngüsünün ikinci seferi başladığında artık i değerimiz 3 olacaktır ( 1+2 den)
ve daha sonra tekrardan for döngüsünün şartlarına bakarsak yukarıda açıkladığımız (int i = 1; i < values.length; --start)
i değerimiz 3 olduğuna göre ve 3 <10 olduğuna göre for döngümüzün tekrar başlaması için bir sebep yok bu şart sağlanmayana kadar for döngüsü aktif olacaktır.
Son olarak çıktıdan bahsedeyim.
çıktı
5.0- -4.0- -4.0- -3.0- -3.0- - şeklinde olacaktır anlattıklarımı takip edip anlayarak ilerlerseniz nedenini kolaylıkla anlayabileceğinize inanıyorum